1 using Assets.Scripts.Network;
2 using
UnityEngine.UI;
3
4 namespace
Assets.Scripts.UI
5 {
6     
public class Result : BasePanel
7     {
8         
public Text label;
9         
public Button button;
10
11         
public void OnNewGame()
12         {
13             Hide();
14             GameService.NewGame();
15         }
16
17         
protected override void Show()
18         {
19             
base.Show();
20             button.gameObject.SetActive(!NetworkService.IsConnected || NetworkService.IsMaster);
21         }
22
23         
protected override void Start()
24         {
25             
base.Start();
26
27             GameService.OnGameResultSignal.AddListener(OnGameResult);
28             NetworkService.OnNewGameStartedSignal.AddListener(OnNewGame);
29             NetworkService.OnDisconnectedFromMasterSignal.AddListener(Hide);
30         }
31
32         
protected override void OnDestroy()
33         {
34             
base.OnDestroy();
35
36             GameService.OnGameResultSignal.RemoveListener(OnGameResult);
37             NetworkService.OnNewGameStartedSignal.RemoveListener(OnNewGame);
38             NetworkService.OnDisconnectedFromMasterSignal.RemoveListener(Hide);
39         }
40
41         
private void OnGameResult(Game game)
42         {
43             
switch (game.CurrentState)
44             {
45                 
case GameState.CrossWin:
46                     label.text =
"X WIN!";
47                     
break;
48                 
case GameState.NoughtWin:
49                     label.text =
"O WIN!";
50                     
break;
51                 
case GameState.Draw:
52                     label.text =
"DRAW!";
53                     
break;
54             }
55
56             Show();
57         }
58     }
59 }



Trò chơi Tic-Tac-Toe, game đánh caro full source code 53.448 lượt xem

Gõ tìm kiếm nhanh...